The task of showing the desktop and/or applications of an operating system on an external device is a very common one. Communications channel bandwidth is often limited, and may not have enough capacity for transferring data in real time using lossless compression methods.
There are several different approaches to this problem of data transfer over limited bandwidth. Among these, one of the first was the X Window System (X11). While efficient traffic-wise, it was arduous to maintain. Other protocols have been developed by Citrix, which eventually resulted in Remote Desktop Protocol (RDP). More recently, a simplified protocol called Virtual Network Computing (VNC) was developed. Both RDP and VNC are essentially bitmap-based thus alleviating the maintenance issues typical with X11. However, both VNC and RDP use lossless compression.
Using lossless compression frequently results in the “frame drop” phenomenon: when video is shown on a remote desktop, it results in the displayed video appearing “jerky.” In extreme cases, the frame rate of the resulting video may drop to a single frame every 5-10 seconds. Frequently video shown on source screen and transferred over a network connection or communication channel results in frame drops, which appear unnatural for end-user attempting to observe the transmitted video on an external device. The present invention provides an alternative way to fit a stream of updates onto the limited communication channel, aiming to keep the frame rate consistent across both the local display and the remote display, while reducing the image quality on the target display in ways less visible to the end-user.